<ui:composition template="../template/plantilla_01.xhtml"
            xmlns:ui="http://java.sun.com/jsf/facelets"
            xmlns:h="http://java.sun.com/jsf/html"
            xmlns:p="http://primefaces.org/ui"
            xmlns:f="http://java.sun.com/jsf/core"
            xmlns:fn="http://java.sun.com/jsp/jstl/functions">

   <ui:define name="panelCentral">

       <h:form id="formulario" prependId="false">

            <p:panel header="Picking ventas especiales" style="width:100%;" styleClass="panel">

                <p:messages id="message" showDetail="true" />
                
                <p:tabView id="tb" widgetVar="tabView" >

                    <p:tab id="tblista" title="Lista" >

                        <p:dataTable value="#{poolAplicacionBean.pooles}" var="o" style="padding-top:  10px;"
                                     paginator="true" rows="15" paginatorAlwaysVisible="true" >

                            <f:facet name="header" >
                                Ventas especiales públicas
                            </f:facet>

                            <p:column headerText="Número" width="50">
                                <h:outputText value="#{o.nroPool}"/>
                            </p:column>

                            <p:column headerText="Descripción" style="width: 200px;">
                                <h:outputText value="#{o.descripcion}"/>
                            </p:column>

                            <p:column headerText="Cant. Public." style="text-align: right;">
                                <h:outputText value="#{o.cantidadTotal}">
                                    <f:convertNumber pattern="0" />
                                </h:outputText>
                            </p:column>

                            <p:column headerText="Cant. Disponible" style="text-align: right;">
                                <h:outputText value="#{o.cantidadDisponible}" >
                                    <f:convertNumber pattern="0" />
                                </h:outputText>
                            </p:column>

                            <p:column headerText="Reservas" style="text-align: right;">
                                <h:outputText value="#{fn:length(o.reservas)}" >
                                    <f:convertNumber pattern="0" />
                                </h:outputText>
                            </p:column>

                            <p:column headerText="Estado" style="text-align: center;">
                                <h:outputText value="#{o.estado}" />
                            </p:column>

                            <p:column headerText="Diponible" style="text-align: center;">

                                <h:outputText value="Si" rendered="#{o.activa}" />
                                <h:outputText value="No" rendered="#{not o.activa}" />

                            </p:column>

                            <p:column headerText="" >
                                <p:commandButton icon="find" id="seleMovim"
                                                 actionListener="#{pickingBean.seleccionarPool(o)}"
                                                 update="@form"
                                                 oncomplete="PF('tabView').select(1)"
                                                 process="@this" styleClass="btnTabla" />
                            </p:column>

                        </p:dataTable>

                        <p:dataTable value="#{poolAplicacionBean.poolesRestringidos}" var="o" style="padding-top:  10px;"
                                     paginator="true" rows="15" paginatorAlwaysVisible="true" >

                            <f:facet name="header" >
                                Ventas especiales restringidas
                            </f:facet>

                            <p:column headerText="Número" width="50">
                                <h:outputText value="#{o.nroPool}"/>
                            </p:column>

                            <p:column headerText="Descripción" style="width: 200px;">
                                <h:outputText value="#{o.descripcion}"/>
                            </p:column>

                            <p:column headerText="Cant. Public." style="text-align: right;">
                                <h:outputText value="#{o.cantidadTotal}">
                                    <f:convertNumber pattern="0" />
                                </h:outputText>
                            </p:column>

                            <p:column headerText="Cant. Disponible" style="text-align: right;">
                                <h:outputText value="#{o.cantidadDisponible}" >
                                    <f:convertNumber pattern="0" />
                                </h:outputText>
                            </p:column>

                            <p:column headerText="Reservas" style="text-align: right;">
                                <h:outputText value="#{fn:length(o.reservas)}" >
                                    <f:convertNumber pattern="0" />
                                </h:outputText>
                            </p:column>

                            <p:column headerText="Estado" style="text-align: center;">
                                <h:outputText value="#{o.estado}" />
                            </p:column>

                            <p:column headerText="Diponible" style="text-align: center;">

                                <h:outputText value="Si" rendered="#{o.activa}" />
                                <h:outputText value="No" rendered="#{not o.activa}" />

                            </p:column>

                            <p:column headerText="" >
                                <p:commandButton icon="find16" id="seleMovim"
                                                 actionListener="#{pickingBean.seleccionarPool(o)}"
                                                 update="@form"
                                                 oncomplete="PF('tabView').select(1)"
                                                 process="@this" styleClass="btnTabla" />
                            </p:column>

                        </p:dataTable>

                    </p:tab>

                    <p:tab id="tbdatos" title="Datos">

                        <h:panelGrid columns="4" cellspacing="10"  columnClasses="colLabel,colDato,colLabel,colDato" >

                            <h:outputText value="Número pool:" />
                            <h:outputText value="#{pickingBean.pool.nroPool}" />

                            <h:outputText value="Estado:" />
                            <h:outputText value="#{pickingBean.pool.estado}"  />

                            <h:outputText value="Descripción:" />
                            <h:outputText value="#{pickingBean.pool.descripcion}"  />
                            
                            <h:outputText value="" />
                            <h:outputText value="" />

                            <h:outputText value="Disponible desde:"  />
                            <h:outputText value="#{pickingBean.pool.disponibleDesde}" >
                                <f:convertDateTime pattern="dd/MM/yyyy HH:mm:ss" locale="es_AR"  />
                            </h:outputText>

                            <h:outputText value="Disponible hasta:"  />
                            <h:outputText value="#{pickingBean.pool.disponibleHasta}" >
                                <f:convertDateTime pattern="dd/MM/yyyy HH:mm:ss" locale="es_AR"   />
                            </h:outputText>

                            <h:outputText value="Cantidad publicada:"  />
                            <h:outputText value="#{pickingBean.pool.cantidadTotal}" >
                                <f:convertNumber pattern="0" />
                            </h:outputText>
                            
                            <h:outputText value="Cantidad Disponible:" />
                            <h:outputText value="#{pickingBean.pool.cantidadDisponible}" >
                                <f:convertNumber pattern="0" />
                            </h:outputText>
                            
                        </h:panelGrid>
                        
                        <h:panelGrid id="pgPicking" columns="5" cellpadding="5" cellspacing="5" style="background-color: #cccccc;width: 800px;"  >

                            <h:outputText value="Producto" />
                            <h:outputText value="Disponib" />
                            <h:outputText value="Cantidad" />
                            <h:outputText value="Observaciones" />
                            <h:outputText value="Agregar" />

                            <p:selectOneMenu id="prdVentaEspecial" style="width: 450px;"                                             
                                             value="#{pickingBean.itemPicking.producto}" rendered="#{not empty pickingBean.itemPicking}"
                                             converter="#{conversoresInventario.producto}"   >                                
                                <f:selectItem itemLabel="Seleccionar" itemValue="" />
                                <f:selectItems value="#{pickingBean.productos}" var="p" itemLabel="#{p.descrp}" itemValue="#{p}"/>
                                <p:ajax process="@this" listener="#{pickingBean.sincronizarCantidadMaxima}" update="cantMaxima"  />
                            </p:selectOneMenu>
                            
                            <h:outputText id="cantMaxima" value="#{pickingBean.itemPicking.cantidadMaxima}" 
                                          style="text-align: right;">
                                <f:convertNumber pattern="0" />
                            </h:outputText>
                                                        
                            <p:inputText value="#{pickingBean.itemPicking.cantid}" size="6" >
                                <f:convertNumber pattern="0" />
                            </p:inputText>
                            
                            <p:inputTextarea rows="1" cols="30" value="#{pickingBean.itemPicking.observaciones}" />
                            <p:commandButton icon="ok16"
                                             value="Picar!"
                                             update="@form"
                                             oncomplete="PF('tabView').select(1)"
                                             process="pgPicking"
                                             actionListener="#{pickingBean.agregarItemPicking}" />

                        </h:panelGrid>

                        <p:dataTable id="tblPicking" value="#{pickingBean.pool.itemsPicking}" var="c"
                                     style="width: 800px; padding-top: 10px;"
                                     rows="20" paginator="true"  >

                            <p:column headerText="Producto" style="width: 200px;">
                                <h:outputText value="#{c.producto.descrp}" />
                            </p:column>
                            
                            <p:column headerText="Cantidad" style="width: 80px;">
                                <h:outputText value="#{c.cantid}" />
                            </p:column>

                            <p:column headerText="Observaciones" style="width: 200px;">
                                <h:outputText value="#{c.observaciones}" />
                            </p:column>

                            <p:column headerText="Alta" width="170" style="text-align: center;" >                                
                                <h:outputText value="#{c.fecalt}" >
                                    <f:convertDateTime pattern="dd/MM/yyyy HH:mm:ss"  />
                                </h:outputText>
                            </p:column>
                            
                            <p:column headerText="Habilitada" width="50" style="text-align: center;">
                                <h:outputText value="Si" rendered="#{c.debaja eq 'N'}" />
                                <h:outputText value="No" rendered="#{c.debaja eq 'S'}" />
                            </p:column>

                            <p:column headerText="Anular" width="50" style="text-align: center;">
                                <p:commandButton icon="delete16"
                                             update="@form"
                                             oncomplete="PF('tabView').select(1)"
                                             process="tblPicking"
                                             actionListener="#{pickingBean.eliminarItemPicking(c)}" />
                            </p:column>

                        </p:dataTable>

                    </p:tab>                    

                </p:tabView>

            </p:panel>

       </h:form>
       
   </ui:define>

</ui:composition>

    
    